package tp2.algocity.view;

import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.ImageIcon;

import tp2.algocity.modelo.ModeloObservable;
import tp2.algocity.modelo.Posicion;

public class VistaModeloDatoDibujo extends VistaModeloDato {

	private static final long serialVersionUID = -2515780880614698090L;
	
	private String imagen;
	
	public VistaModeloDatoDibujo(Posicion posicion, ModeloObservable modelo) {
		super(posicion, modelo);
		this.imagen = nuevaImagen();
	}
	
	private String nuevaImagen(){
		if (modelo == null){
			return "";
		}
		int imageIndex = modelo.getModeloDato(posicion);
		return ConstanteImagenes.strImagenes[imageIndex];
	}
	
	public void paintComponent(Graphics g){
		Dimension tamanio = getSize();
		ImageIcon imagen = new ImageIcon(getClass().getResource(this.imagen));
		g.drawImage(imagen.getImage(), 0, 0, tamanio.width, tamanio.height, null);
		setOpaque(false);
		super.paintComponent(g);
	}
	
	@Override
	protected void updateVista() {
		imagen = nuevaImagen();
        repaint();
	}

}
